19. Common Questions

Question: I'm encountering errors as I try to run the perception exercises, including issues installing pcl, how to fix this?

Answer: You should run inside the VM, not your local Mac, Windows, machine, etc. Then you should have no issues.

Question: I'm getting the Lookup would require extrapolation into the past. error. How can I solve this?

[ERROR] [1527367124.398429031, 0.855000000]: Lookup would require extrapolation into the past. Requested time 0.493000000 but the earliest data is at time 0.521000000, when looking up transform from frame [camera_rgb_optical_frame] to frame [world]

**Answer: ** If the above error occurs only a few times, and then stops repeating, then the error can be ignored. Because of everything loading up in Gazebo and possible hardware/system limitations, the transform lookup can take time. Once everything loads up, the error will stop repeating.

Question: I'm trying to run the Perception exercises and I only see a blue stick for the robot inside RViz. I also notice some error message like this in the terminal. HELP!

[ERROR] [1499695108.298622255, 1132.552000000]: Lookup would require extrapolation into the past. Requested time 1128.729000000 but the earliest data is at time 1128.772000000, when looking up transform from frame [camera_rgb_optical_frame] to frame [world] terminate called after throwing an instance of 'tf2::ConnectivityException' what(): Could not find a connection between 'world' and 'camera_rgb_optical_frame' because they are not part of the same tree.Tf has two or more unconnected trees. [cloud_transformer-8] process has died [pid 6137, exit code -6, cmd /home/robond/catkin_ws/devel/lib/sensor_stick/cloud_transformer __name:=cloud_transformer __log:=/home/robond/.ros/log/a1c14e10-6577-11e7-9e9f-000c298e62c8/cloud_transformer-8.log]. log file: /home/robond/.ros/log/a1c14e10-6577-11e7-9e9f-000c298e62c8/cloud_transformer-8*.log

Answer: Double, triple check that you added this line correctly to your .bashrc.

export GAZEBO_MODEL_PATH=~/catkin_ws/src/sensor_stick/models

Also inside RViz change the point style from Points to Flat Squares.

Many seemingly unrelated errors come back to the Udacity can model not being loaded correctly. So even if, for example, your Gazebo starts up OK, but you can not see the light blue Udacity can (in addition to the generic soda can) then this line was not added correctly to .bashrc!

Question: In Lesson 5.12 it says "And now we're ready to shuffle and split the data into training and testing sets. It's always a good idea to test your classifier on a separate dataset from the one you trained on, but first you should always randomize (shuffle) the data"

Why should the data be randomized? Why can't we go sequential? The object of interest can be anywhere in the list.

Answer: We built the dataset out of Cars and noCars samples which we then glued together sequentially. In this case they were roughly 50% each. We now want to take a section of this data to use for the training set, and another section to use for the testing set.

Now let's say we decide to take a training set of 80% of the data and testing set of the remaining 20%. If we had not shuffled the data then the training set would include all the Car samples and some of the noCar samples. The testing set would only include noCar samples and none for Car.

This is bad for two reasons. The classifier is being trained with proportionally more samples for Car, so it is more likely to start thinking everything is a car than it really should. And the other reason is since the test set contains no Car samples we can never check how good our model is at predicting cars.

If we shuffle the data first we get a better relatively balanced distributed of Cars and notCars and so we can train and test our model properly.

RuntimeError: Multiple packages found with the same name "sensor_stick":

Answer: This occurs since there are sensor_stick packages inside both the Exercise2 and Exercise3 folders and so if you placed the whole RoboND-Perception-Exercises repo inside your catkin_ws you will get this issue.

It is not trivial to rename the package, so it is best to follow the exercise README exactly. So move the RoboND-Perception-Exercises repo outside your catkin_ws and then just copy the sensor_stick folder back to the catkin_ws/src